package com.jungle.sp.daily.sms.twilio;

import com.alibaba.fastjson.JSON;
import com.twilio.Twilio;
import com.twilio.rest.api.v2010.account.Message;

public class CustomSmsExample {
    // 从环境变量加载 Twilio 账户凭据（推荐）
    // public static final String ACCOUNT_SID = System.getenv("TWILIO_ACCOUNT_SID");
    // public static final String AUTH_TOKEN = System.getenv("TWILIO_AUTH_TOKEN");


    public static final String ACCOUNT_SID = "AC650fb7c0283b0091ee319698779b7883";
    public static final String AUTH_TOKEN = "553380f6306ee0d15cd327394d2349a8";

    public static void main(String[] args) {
        // 初始化 Twilio 客户端
        Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

        // 1. 生成随机验证码（例如 6 位数字）
        String phoneNumber = "+447428307875"; // 用户手机号
        String verificationCode = generateVerificationCode();
        System.out.println("验证码：" + verificationCode);

        // 2. 自定义短信内容
        String messageBody = "verification code : " + verificationCode;


        try {
            // 3. 使用 Twilio Messaging API 发送短信
            Message message = Message.creator("abc",
                    new com.twilio.type.PhoneNumber(phoneNumber), // 目标手机号
                    new com.twilio.type.PhoneNumber("+17752615743"), // 你的 Twilio 虚拟号码
                    messageBody // 短信内容
            ).create();

            System.out.println("======================="+JSON.toJSONString(message));
            // 4. 输出发送状态
            System.out.println("Message sent! SID: " + message.getSid());
        } catch (Exception e) {
            System.err.println("Error sending SMS: " + e.getMessage());
        }
    }

    // 生成随机验证码的方法
    private static String generateVerificationCode() {
        int code = (int) (Math.random() * 900000) + 100000; // 生成 100000 到 999999 的随机数
        return String.valueOf(code);
    }
}
